/*
 * MachineSpec.hpp
 *
 *  Created on: 2009-12-9
 *      Author: ws
 */

#ifndef MACHINESPEC_HPP_
#define MACHINESPEC_HPP_

#include"common.hpp"


enum  MACRO_ID{
	P0 = 1,
	P1,
	P2,
	P3,
	ADDR_P0,
	ADDR_P1,
	ADDR_P2,
	ADDR_P3,
	RET_P0,
	RET_P1,
	RET_ADDR_P0,
	OUT_SP,
	LOCAL_SP,
	SPILL_SP,
	INPUT_SP
};

//the ctype of the target machine support
enum CType{
	INT_CT,
	DOUBLE_CT,
	FLOAT_CT,
	UINT_CT
};

bool M_is_macro_id(int id);
enum TargetInfo::PhysicalRegister M_get_macro_physical_register(enum MACRO_ID id);
enum Core M_get_macro_core(enum MACRO_ID id);



#endif

